This invention relates to a method of obtaining a position fix in a GPS receiver and a GPS receiver for the same.
The classic GPS position fix algorithm involves solving the following four equations:
{square root over ((xxe2x88x92sx1)2+(yxe2x88x92sy1)2+(zxe2x88x92sz1)2)}=xcfx811xe2x88x92ct 
{square root over ((xxe2x88x92sx2)2+(yxe2x88x92sy2)2+(zxe2x88x92sz2)2)}=xcfx812xe2x88x92ct 
{square root over ((xxe2x88x92sx3)2+(yxe2x88x92sy3)2+(zxe2x88x92sz3)2)}=xcfx813xe2x88x92ct 
{square root over ((xxe2x88x92sx4)2+(yxe2x88x92sy4)2+(zxe2x88x92sz4)2)}=xcfx814xe2x88x92ct 
where xcfx81i is the measured pseudorange from a GPS receiver to the ith satellite having a known position vector si=(sxi, syi, szi), x, y and z are the co-ordinates of the GPS receiver, t is the clock offset of the GPS receiver compared to the GPS time base and c is the speed of light. In the event that pseudoranges can be measured from more than 4 satellites, an overdetermined set of equations may be derived and solved, for example, by using a best fit type, iterative technique. Unfortunately, however, the amount of computation involved in employing such an technique to solve for 4 unknowns, i.e. x, y, z and clock offset, is significant. For example, consider the following conventional method:
Step 1. Calculate the following direction cosines matrix H:   H  =      (                                                      x              -                              s                x                1                                                    r              1                                                                          y              -                              s                y                1                                                    r              1                                                                          z              -                              s                z                1                                                    r              1                                                1                                                                x              -                              s                x                2                                                    r              2                                                                          y              -                              s                y                2                                                    r              2                                                                          z              -                              s                z                2                                                    r              2                                                1                                      ⋮                          ⋮                          ⋮                          ⋮                                                                x              -                              s                x                n                                                    r              n                                                                          y              -                              s                y                n                                                    r              n                                                                          z              -                              s                z                n                                                    r              n                                                1                      )  
where n is the number of satellites (4 or more) and Ri is the distance from an estimate of the position of the GPS receiver to the ith satellite, calculated in the following manner:
ri={square root over ((xxe2x88x92sxi)2+(yxe2x88x92syi)2+(zxe2x88x92szi)2)}
Step 2. Calculate the following pseudorange error vector Q:   Q  =      (                                                      ρ              1                        -                          (                                                r                  1                                +                ct                            )                                                                                      ρ              2                        -                          (                                                r                  2                                +                ct                            )                                                            ⋮                                                                ρ              n                        -                          (                                                r                  n                                +                ct                            )                                            )  
Step 3. Calculate a correction vector P whereby P=(HTH)xe2x88x921HTQ (or in a simplified form if n=4, P=Hxe2x88x921Q).
Step 4. Correct the estimate S of the position of the GPS receiver and clock offset whereby Sxe2x80x2=S+P, where:   S  =      (                            x                                      y                                      z                                      ct                      )  
and Sxe2x80x2 is the corrected version. These steps are repeated until the solution has converged to a required degree of accuracy, normally determined when |P| is less than some threshold.
By far the largest contribution to the total computation requirement in steps 1 to 4 above is the 4xc3x974 matrix inversion (HTH)xe2x88x921 done in step 3.
It is an object of the present invention to provide a method of obtaining a position fix in a GPS receiver with a reduced computational requirement, and a GPS receiver configured for the same.
According to the present invention, such a method and GPS receiver are provided, the method comprising the steps of (i) providing an estimate of clock offset between the GPS receiver and the GPS satellites; (ii) measuring a set of pseudoranges from the GPS receiver to GPS satellites; and (iii) either (a) resolving the set of pseudoranges obtained in step (ii) to obtain a position fix, or (b) providing an estimate of the position of the GPS receiver, resolving the set of pseudoranges obtained in step (ii) to obtain a position fix correction, and obtaining a position fix using the estimate of the position of the GPS receiver and the position fix correction, wherein resolving the pseudoranges in either step (iii)(a) or step (iii)(b) does not involve resolving the pseudoranges for either a new clock offset or clock offset correction.
There is an underlying assumption in the conventional method of obtaining a position fix described of it addressing essentially a four dimensional problem, i.e. solving for x, y, z and clock offset, and also that each unknown is of equal importance. However, the inventor has realized that, at least for some applications, this assumption is not true. Rather, the clock offset is generally stable and can be predicted from previous values. Therefore, it is not necessary to solve for four unknowns each and every time and hence the conventional four dimensional problem, i.e. solving for x, y, z and clock offset, is reduced to a three dimensional problem, i.e. solving for x, y, z, so simplifying the required computation.
In addition, the resultant position fix obtained using a method of the present invention is more stable as the clock offset as source of potential error is removed. Also, a current position fix can be obtained using only three current pseudoranges measurements whereas conventional methods generally rely on the use of old pseudoranges or pseudoranges derived from old position fixes to supplement missing satellite signals.